<?php
/**
 * 系統名稱: Lotto 系統
 * 檔案說明: 專案管理-修改
 * $Author$
 * $Id$
 *
 */
if (!defined("LogRecord_lib_include")){
    define("LogRecord_lib_include", 1);
	include_once(__Modules_Path."/mysql_wrappers.lib.php");

/**
 * 取得使用者IP
 * @return	IP String

    function getUserRemoteAdd(){
 		$arrIP = split(",", $_SERVER["HTTP_X_FORWARDED_FOR"]);
		return ($arrIP[0] != "")?$arrIP[0]:$_SERVER["REMOTE_ADDR"];
    }
 */

/**
 * 重複連結主DB
 * @return	不回傳 void
 */
	function ReConnectDB(){
		$arrErr = DBConnection("Master");
		if(sizeof($arrErr) > 0){
			$GLOBALS["errormessage"] = $arrErr["Subject"];
			$GLOBALS["errorhidden"] = "\nError: ".$arrErr["Content"].",\nLinue:".__LINE__.",\nPage:".__FILE__;
			return false;
		}
		return true;
	}

/**
 * 加入一筆 刪除資料的 Log 紀錄
 * @param	strMemID 使用者代號
 * @param	strTable 刪除資料表名稱
 * @param	intID 所刪除資料序號
 * @return	錯誤時不回傳 void 程式終止，正確傳回 true
 */
	function DeleteData_Log($strMemID, $strTable, $intID){
		global $_ConnMaster;
		if(!$_ConnMaster)ReConnectDB();
		$strCont = "資料表名稱：".$strTable."\n";
		$strCont .= "以下為所刪除內容：\n\n";
		$strSQL = "select * from `".$strTable."` where ID = ".$intID;
				
		if($RS = @PMA_mysql_query($strSQL, $_ConnMaster)){
			if(@PMA_mysql_num_rows($RS) > 0){
				$Rows = @PMA_mysql_fetch_object($RS);
				while(list($field,$val) = each($Rows)) {
					$strCont .= $field."：".$val."\n";
				}
				@mysql_free_result($RS);
			}else{
				$GLOBALS["errormessage"] = "Log Error!!";
				$GLOBALS["errorhidden"] = "Error:".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nFile:".__FILE__;
				@mysql_free_result($RS);
				return false;
			}
		}else{
			$GLOBALS["errormessage"] = "Log Error!!";
			$GLOBALS["errorhidden"] = "Error:".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nFile:".__FILE__;
			@mysql_free_result($RS);
			return false;
		}
		return AddData_Log($strMemID, "刪除資料", $strCont);
	}


/**
 * 加入一筆 Log 紀錄
 * @param	intMemID：使用者代號
 * @param	strLogType：Log 類型
 * @param	strLogContent：Log 內容
 * @return	錯誤時傳 false，正確傳回 true
 */
	function AddData_Log($intMemID, $strLogType, $strLogContent){
		global $_ConnMaster;
		if(!$_ConnMaster)ReConnectDB();
		if(empty($intMemID)){
			if(isset($_SESSION["Admin_Info"]) && is_object($_SESSION["Admin_Info"])){
				$intMemID = $_SESSION["Admin_Info"] -> ID;
			}elseif(isset($_SESSION["Mem_Info"]) && is_object($_SESSION["Mem_Info"])){
				$intMemID = $_SESSION["Mem_Info"] -> ID;
			}
		}

		$strCont ="SID=".session_id()."\n".$strAC;
		$strSQL = "insert into `bet_LogRecord`(`MemID`,`ActionType`,`ActionContent`,`IP`,`ActionDate`,`ActionTime`,`ServerIP`)".
		$strSQL = " values('".$intMemID."','".addslashes($strLogType)."','".addslashes($strLogContent)."','".getUserRemoteAdd()."',CURRENT_DATE(),CURRENT_TIME(),'".$_SERVER["SERVER_ADDR"]."')";
		if(!@PMA_mysql_query($strSQL, $_ConnMaster)){
			$GLOBALS["errormessage"] = "DB 維護中，暫停各種資料修改，請見諒！ 21:00 以後重新開放！"; //DB 維護中，暫停各種資料修改，請見諒！ 21:00 以後重新開放！
			$GLOBALS["errorhidden"] = "Error:".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nFile:".__FILE__;
			@mysql_free_result($RS);
			return false;
		}else{
			return true;
		}
	}


/**
 * 加入一筆 使用者登入 Log 紀錄
 * @param	strAccount：使用者登入用帳號
 * @param	strPassword：使用者登入用密碼
 * @param	isSucc：使否登入成功， 0 -> 失敗， 1 -> 成功， -1 -> 會員停用，2 -> 使用中， -2 -> 代理商停用， -3 -> 總代理停用， -4 -> 股東停用， -5 -> 總監停用， -6 -> 會員成數資料錯誤， -7 -> 身份錯誤
 * @return	錯誤時傳 false，正確傳回 true
 */
	function AddLogin_Log($strAccount, $strPassword, $isSucc = 0){
		global $_ConnMaster;
		if(!$_ConnMaster)ReConnectDB();
		$strSQL = "insert into `bet_LoginLog`(`Account`,`Password`,`isSuccess`,`IP`,`ServerIP`,`AddDate`,`AddTime`,`SessionID`,`Referer`)".
		$strSQL = " values('".$strAccount."','".$strPassword."',".$isSucc.",'".getUserRemoteAdd()."','".$_SERVER["SERVER_ADDR"]."',CURRENT_DATE( ),CURRENT_TIME(),'".session_id()."','".$_SERVER["HTTP_REFERER"]."');";
		if(!@PMA_mysql_query($strSQL, $_ConnMaster)){
			$GLOBALS["errormessage"] = "Log Error!!";
			$GLOBALS["errorhidden"] = "Error:".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nFile:".__FILE__;
			@mysql_free_result($RS);
			return false;
		}else{
			return true;
		}
	}


/**
 * 加入一筆 刪除資料的 Log 紀錄
 * @param	intUserID 使用者代號
 * @param	flNewRate1 新成數1
 * @param	flNewRate2 新成數2
 * @return	錯誤時不回傳 void 程式終止，正確傳回 true
 */
	function RateChangeRecord($intUserID, $flNewRate1, $flNewRate2){
		global $_ConnMaster;
		if(!$_ConnMaster)$this -> ReConnectDB();
	
		$strSQL = "select Rate1, Rate2 from `bet_Member` where ID = '".$intUserID."'";
		if(!$RS = PMA_mysql_query($strSQL, $_ConnMaster)){
			$GLOBALS["errormessage"] = "Find User Data Error!!";
			$GLOBALS["errorhidden"] = "Error: ".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nPage:".__FILE__;
			ErrMsgOutputHTML("LoginError", "", 1);
		}
		$flRate1 = 0;
		$flRate2 = 0;
		if(PMA_mysql_num_rows($RS) > 0){
			$Rows = PMA_mysql_fetch_object($RS);
			$flRate1 = round($Rows -> Rate1*100);
			$flRate2 = round($Rows -> Rate2*100);
		}
		$Rows = PMA_mysql_fetch_object($RS);
		if(round($flRate1*100) != round($flNewRate1*100) || round($flRate2*100) != round($flNewRate2*100)){
			$strSQL = "insert into `bet_RateChangeRecord`(ChangeUserID, UserID, Scale, NewScale, MainScale, NewMainScale, ChangeDate, IP) values('".$_SESSION["Admin_Info"] -> ID."', '".$intUserID."', '".$flRate1."', '".$flNewRate1."', '".$flRate2."', '".$flNewRate2."', Now(), '".getUserRemoteAdd()."')";
			if(!PMA_mysql_query($strSQL, $_ConnMaster)){
				$GLOBALS["errormessage"] = "Add Log Data Error!!";
				$GLOBALS["errorhidden"] = "Error: ".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nPage:".__FILE__;
				ErrMsgOutputHTML("LoginError", "", 1);
			}
		}
		return true;
	}


/**
 * 加入一筆 走馬燈變更 Log 紀錄
 * @param	strAccount：使用者登入用帳號
 * @param	intMqID：走馬燈序號
 * @param	LogType：記錄種類， 0 -> 新增， 1 -> 修改， 3 -> 刪除
 * @return	錯誤時不回傳 void 程式終止，正確傳回 true
 */
	function AddMarquee_Log($strAccount, $intMqID, $LogType = 1){
		global $_ConnMaster;
		if(!$_ConnMaster)ReConnectDB();
		$strSQL = "insert into `bet_LogMarquee`(`MqID`, `Account`, `LogType`, `Content_1`, `Content_2`, `Content_3`, `Sites`, `isPopup`, `isOnline`, `OnDate`, `OffDate`, `AddDate`, `AddTime`, `IP`)";
		$strSQL .= " select `ID`, '".$strAccount."', '".$LogType."', `Content_1`, `Content_2`, `Content_3`, `Sites`, `isPopup`, `isOnline`, `OnDate`, `OffDate`,CURRENT_DATE( ), CURRENT_TIME(), '".getUserRemoteAdd()."' from `bet_Marquee` where `ID` = ".$intMqID;
		if(!@PMA_mysql_query($strSQL, $_ConnMaster)){
			$GLOBALS["errormessage"] = "Log Error!!";
			$GLOBALS["errorhidden"] = "Error:".PMA_mysql_error($_ConnMaster)."\nLine:".__LINE__."\nFile:".__FILE__;
			return false;
		}else{
			return true;
		}
	}
//-------------------------------------------------------//
//LogRecord_lib End
}
?>